// sin_sum3.ts

// 定义一个类 SinSumData，用于存储整数数组
class SinSumData {
  numbers: Array<i32>;

  // 构造函数，初始化 numbers 数组
  constructor(numbers: Array<i32>) {
    this.numbers = numbers;
  }
}

// 导出一个函数 createSinSumData，用于创建 SinSumData 类的实例
export function createSinSumData(numbers: Array<i32>): SinSumData {
  return new SinSumData(numbers);
}

// 导出一个函数 calculateSinSumWithObject，用于计算传入对象中数组的正弦值之和
export function calculateSinSumWithObject(data: SinSumData): f64 {
  // 计算正弦值之和
  let sum: f64 = 0;
  for (let i = 0; i < data.numbers.length; i++) {
    sum += Math.sin(data.numbers[i]);
  }

  return sum;
}